<?php
/**
 * PrynLib
 * @copyright 2007-2009 Prynel
 * @author Olivier ROGER <roger.olivier@gmail.com>
 * @category libPrynel
 * @package Form
 * @version $Revision: 80 $
 */

/**
 * Element IP. Permet de valider une adresse IP dans un champs text
 * 
 * @category libPrynel
 * @package Form
 * @subpackage Form_Element
 * @version 1.0.0 
 * @author Olivier ROGER <roger.olivier@gmail.com>
 * @copyright  2007-2009 Prynel
 *       
 *
 */
class Form_Element_Ip extends Form_Element_Text
{
	/**
	 * Constructeur. Défini la taille mini et maxi de l'ip
	 *
	 * @param string $nom
	 * @param Form_Form $form
	 */
	public function __construct($nom,$form)
	{
		parent::__construct($nom,$form);
		$this->maxlength(15);
		$this->minLength(7);
	}
	
	/**
	 * Validation de l'adresse IP
	 *
	 * @param string $value
	 * @access public
	 * @return boolean
	 */
	public function isValid($value)
	{	
		if(parent::isValid($value))
		{
			if(Util_String::isIp($value) || (!$this->required && $value==''))
				return true;
			else
				$this->errorMsg = Form_Error::NOTIP;
		}
		return false;
	}
}
 ?>